A typical computer system uses a single internet protocol (IP) address assigned to the computer system. Any user session or program on the computer will use the IP address of the computer for network communications on a TCP/IP network. Communications over the network to and from the computer, for example between a client and a server, use the computer's IP address as part of the network communications of the computer. In a virtual private network environment, a remote user may establish a virtual private network connection from a client to a second network, such as via an SSL VPN connection from a client on a public network to a server on a private network. On the second network, a second IP address is used for communications between the client and the server.
A user of the virtual private network may log in via the same computing device or roam between computing devices. For each login session, a different second IP address may be used for virtual private network communications. Also, for each computing device of the user, a different second IP address may be used for virtual private network communications. As such, the user and/or computing device of the user may be associated with different IP addresses on the virtual private network at various times. In some cases, the user may have multiple virtual private network sessions concurrently, and thus, multiple IP addresses on the private network. Identifying, tracking or managing the virtual private network addresses of remote users is challenging, and may be compounded in an environment with a multitude of remote virtual private network users. Thus, it is desirable to provide systems and methods to more efficiently manage and assign IP addresses for users of a virtual private network. It is also desirable to provide systems and methods to identify the virtual private network address assigned to a user of a virtual private network.
In one case, an application is designed and constructed to operate using the local internet protocol address of the client. When the user is connected via a virtual private network connection to a second network, the application may have issues communicating over the connection to the private network. For instance, the application may only be aware of the IP address assigned to the computer. Since it is not aware of any of the second IP addresses associated with the user or computer on the virtual private network, the application may not be able to communicate over the virtual private network connection. Thus, it is desirable to provide systems and methods to allow an application to communicate over the virtual private network connection using virtual private network IP addresses.